//-------------------------------------------------------------------------------------------------------
// VST Plug-Ins SDK
// Version 2.4		<DATE>
//
// Category     : VST 2.4 effect
// Filename     : <project_name>.h
// Created by   : <author>
// Description  : <description>
//
//-------------------------------------------------------------------------------------------------------

#ifndef __<project_name>__
#define __<project_name>__

#include "public.sdk/source/vst2.x/audioeffectx.h"

//-------------------------------------------------------------------------------------------------------
class <Project_name> : public AudioEffectX
{
public:
	<Project_name> (audioMasterCallback audioMaster);
	~<Project_name> ();

	// Processing
	virtual void processReplacing (float** inputs, float** outputs, VstInt32 sampleFrames);
	virtual void processDoubleReplacing (double** inputs, double** outputs, VstInt32 sampleFrames);

	// Program
	virtual void setProgramName (char* name);
	virtual void getProgramName (char* name);

	// Parameters
	virtual void setParameter (VstInt32 index, float value);
	virtual float getParameter (VstInt32 index);
	virtual void getParameterLabel (VstInt32 index, char* label);
	virtual void getParameterDisplay (VstInt32 index, char* text);
	virtual void getParameterName (VstInt32 index, char* text);

	virtual bool getEffectName (char* name);
	virtual bool getVendorString (char* text);
	virtual bool getProductString (char* text);
	virtual VstInt32 getVendorVersion ();

protected:
	char programName[kVstMaxProgNameLen + 1];
	//TODO: insert your vst effect parameters here
	
};

#endif
